home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc Source Code / DocShell / Shell.r < prev    next >
Encoding:
Text File  |  1996-04-22  |  50.9 KB  |  1,729 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Shell.r
  3.  
  4.     Contains:    Resources for the document shell
  5.  
  6.     Owned by:    Nick Pilch
  7.  
  8.     Copyright:    © 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <5>     3/29/96    DM        1334273: added new alert 493 which
  13.                                     announces OpenDoc must quit immediately due
  14.                                     to very low memory.
  15.          <4>    .03.1996    NP        1307182: Removed STR# item.
  16.          <3>     3/14/96    NP        1330149: Remove objectionable MENU entries.
  17.          <2>     1/15/96    JA        1269485: Resized About dlog & added 'ictb'
  18.                                     to change font.
  19.         <43>    10/31/95    eeh        1297192: make room for strings in dialogs
  20.         <42>    10/31/95    TJ        Made the Splash Screen Non-Modal.#1297413
  21.         <41>    10/26/95    TÇ        1296574 GM:Cannot set default memory
  22.                                     partition size.
  23.         <40>    10/25/95    TÇ        1281409 GM: OpenDoc needs an AboutBox.
  24.         <39>    10/24/95    jpa        1293441: Added more lo-mem alerts.
  25.         <38>    10/18/95    CC        GM 1293627: Use
  26.                                     alertPositionParentWindowScreen for all
  27.                                     alerts.
  28.         <37>    10/16/95    CC        GM 1291511: Layout changes to Save As
  29.                                     dialog to hide Kind popup.
  30.         <36>     10/4/95    jpa        CmmnUtls.r --> UtilCmmn.r [1285767]
  31.         <35>     9/29/95    eeh        1287262: include CmmnUtls.r, remove quotes
  32.         <34>     9/27/95    eeh        1284893: fix capitalization
  33.         <33>     9/20/95    TÇ        1285201 GM: Use
  34.                                     alertPositionParentWindowScreen for dialogs
  35.         <32>     9/12/95    JBS        1282526 Status message needed during "Save
  36.                                     Doc to another volume"
  37.         <31>     9/12/95    eeh        1253309: add kSHLPluginErrorStrID string
  38.         <30>      9/8/95    TÇ        1252120 FB1: New documents saved w/ StdFile
  39.                                     & trashed if closed w/o saving
  40.         <29>      9/8/95    eeh        1268998: add prefs file name 'STR '
  41.                                     resource
  42.         <28>      9/7/95    eeh        1278987: 'STR ' resources for UniquifyName
  43.         <27>     8/22/95    eeh        1276281: template strings
  44.         <26>     8/15/95    TÇ        1258489 Remove TM from OpenDoc folder
  45.         <25>      8/8/95    jpa        Added kSHLDragToTrashAlert (commented out)
  46.                                     [1259401]
  47.         <24>     6/20/95    TÇ        1217754 BB: Delete Document command
  48.         <23>      6/8/95    RR        #1257260 Collapse base classes. #1214898
  49.                                     StdTypes.r -> ODTypes.r
  50.         <22>      6/1/95    jpa        Added ^2 to error DITL so we can show
  51.                                     exception message str. [1242839]
  52.         <21>     5/19/95    TÇ        1155852 BB: String constants need to be
  53.                                     moved to resource for Localization
  54.         <20>      5/7/95    TÇ        1155852 BB: String constants need to be
  55.                                     moved to resource for Localization (mostly
  56.                                     done)
  57.         <19>      5/4/95    jpa        Changed text of low-mem alert and added app
  58.                                     low-mem alert [1235657]
  59.         <18>      5/1/95    CL        Change Revert and Save Changes ALRTs to
  60.                                     DLOGs, add STR# to support cmd-keys for
  61.                                     buttons [1228662,1228678,1229912].
  62.         <17>     4/26/95    TJ        Removed version Resources, they are now in
  63.                                     ODVersion.r
  64.         <16>     4/13/95    CG        #1221869: Added STR resources for Shell
  65.                                     Plug-Ins folder name.
  66.         <15>     4/10/95    TÇ        #1236210    BB: "Show Parts Bin" menu item
  67.                                     must be removed from the Edit menu
  68.         <14>     2/20/95    TÇ        #1210979 BB: 5-$ Bugs need to be evaluated
  69.                                     and removed from Shell
  70.                                     #1221861 BB: Incomplete AOCE support needs
  71.                                     to be removed from OpenDoc
  72.         <13>     2/16/95    CG        #1191912: Changed Print to Print…
  73.         <12>      1/6/95    jpa        Read DocStub.rsrc, not DocStub.r.
  74.         <11>    12/25/94    TÇ        1191189 Eliminate duplicate Def.h, Def.xh
  75.                                     files
  76.                                     1187709 More frequent, robust and earlier
  77.                                     error detection and reporting in the Shell
  78.                                     Moved Error message resources to ErrMsgs.r.
  79.         <10>    11/17/94    CG        (for TC) 1194570, 1193996, 1194812, 1191912
  80.                                     - user experience fixes.
  81.          <9>     10/7/94    TÇ        #1187826 Document Info functionality
  82.          <8>     9/19/94    TÇ        #1150345 Shell.r does not need to refer to
  83.                                     Test Parts
  84.          <7>     9/16/94    eeh        #1186754: eliminate non-AOCE document menu.
  85.          <6>     8/25/94    TÇ        #1183223 Enabled launching of documents in
  86.                                     folders other than that of the OpenDoc
  87.                                     libraries.  Added document stub resources.
  88.          <5>     8/19/94    TÇ        #1159233 Remove references to j3di
  89.          <4>      8/8/94    jpa        Added "Heap Info" dialog [1179567]
  90.          <3>     7/21/94    TÇ        #define oldTemp // to get 'dctb' resources
  91.                                     to rez
  92.          <2>     7/21/94    eeh        fix to comments
  93.          <1>      7/6/94    TÇ        first checked in
  94.          <0>      7/6/94    SV        SOMverted
  95.         <39>     4/11/94    TÇ        #1155854 Use CustomPutFile for Save A Copy.
  96.         <38>      4/7/94    TÇ        fixed #1155956
  97.         <37>     3/23/94    CG        #1151393: Use OpenDoc-wide consts for
  98.                                     'vers' 1 and 2 resources.
  99.         <36>      3/9/94    eeh        bug #1149630: reversed "Forward" and
  100.                                     "Reply" in mailer menu.
  101.         <35>     2/15/94    TÇ        fix #1144029 and some cleanup
  102.         <34>     1/24/94    NP        Changed DITL for About Box to enable the
  103.                                     PICT item.
  104.         <33>     1/19/94    eeh        added Open Document menu item
  105.         <32>     1/18/94    TÇ        removed scsz resource for AppleScript, the
  106.                                     Shell library does not need an scsz
  107.                                     resource, only the OpenDoc™ extension and
  108.                                     documents do.
  109.         <31>     1/18/94    TÇ        use kOpenDocShellSignature & remove BNDL &
  110.                                     FREF resources (why were they there?)
  111.         <30>     1/13/94    eeh        fixed name of document menu
  112.         <29>     1/11/94    eeh        make mailer menu heierarchical
  113.         <28>    12/17/93    eeh        changed dontReadExtensionTerms to
  114.                                     readExtensionTerms in 'scsz'
  115.         <27>     12/9/93    eeh        changed rezid of 'scsz' to 0
  116.         <26>     12/3/93    TÇ        Rename ODError.h to ErrorDef.h
  117.         <25>    11/30/93    NP        Added alwaysSendSubject to scsz resource.
  118.         <24>    11/24/93    TÇ        remove comments about SIZE -1 resource
  119.         <23>    11/15/93    eeh        removed 'aete' resource; added menus for
  120.                                     Reply and Forward (mailer)
  121.         <22>    11/12/93    CG        Added scsz resource for AppleScript.
  122.         <21>    10/27/93    TÇ        update type 'errs' for the change of
  123.                                     ODError from ODULong to ODSLong
  124.         <20>    10/20/93    eeh        Readded expand- and contract-mailer menus
  125.                                     (for use during development only).
  126.         <19>    10/18/93    TÇ        moved SIZE -1 resource to Document.r
  127.         <18>    10/12/93    eeh        changes to AOCE menu
  128.         <17>     10/8/93    TÇ        bifurcated Document menu into normal and
  129.                                     AOCE versions
  130.         <16>     10/7/93    VL        Added more error codes.
  131.         <15>     10/7/93    eeh        various changes related to adding Mailer
  132.                                     support (more to come)
  133.         <14>     10/1/93    RR        Fix file corruption
  134.         <13>     10/1/93    TÇ        fixed definition of 'errs' resource.
  135.                                     UNSIGNED LONGINT for fields
  136.         <12>     9/30/93    TÇ        changed 'errs' resource to use LONGINTs for
  137.                                     error numbers and ranges
  138.         <11>     9/22/93    NP        Changed aete resource.
  139.         <10>     9/17/93    TÇ        changed 'File' menu to 'Document'
  140.          <9>     9/15/93    TÇ        added Error Handling resources, 'errs' etc.
  141.          <8>     9/10/93    RR        Remove File and Edit from MBAR resource
  142.          <7>     8/27/93    TÇ        added About Box from Prototype
  143.          <6>     8/19/93    TÇ        updated Menus for HI Changes
  144.          <5>      8/4/93    TÇ        added AETE resource
  145.          <4>     7/21/93    TÇ        updated standard DocShell menus
  146.          <3>     5/24/93    TÇ        add Save Changes alert (stolen from
  147.                                     TeachText) and Revert alert
  148.          <2>     4/30/93    TÇ        isStationeryAware
  149.          <1>     4/27/93    RCR        First Checked In.
  150.  
  151.     To Do:
  152.     In Progress:
  153.         
  154. */
  155.  
  156. #ifndef _SHELLDEF_
  157. #include "ShellDef.h"
  158. #endif
  159.  
  160. #ifndef SOM_Module_OpenDoc_StdDefs_defined
  161. #include "StdDefs.r"
  162. #endif
  163.  
  164.  
  165.  
  166. #define SystemSevenOrBetter 1            // we want the extended types
  167. #define    SystemSevenOrLater    1            // Types.r uses this variable
  168.  
  169. #define oldTemp            // to get 'dctb' resources to rez
  170. #ifndef __TYPES_R__
  171. #include "Types.r"
  172. #endif
  173. #undef oldTemp
  174.  
  175. #ifndef __SYSTYPES_R__
  176. #include "SysTypes.r"
  177. #endif
  178.  
  179. #ifndef _CONSTDEF_
  180. #include "ConstDef.h"
  181. #endif
  182.  
  183. #ifndef _UTILDEFS_
  184. #include "UtilDefs.h"
  185. #endif
  186.  
  187. include "DocStub.rsrc";                    // Include document-stub resources
  188.  
  189.  
  190. #define    rMenuBar    128                /* application's menu bar */
  191. #define    rAboutAlert    128                /* about alert */
  192. #define    rDocWindow    128                /* application's window */
  193.  
  194. /* The following constants are used to identify menus and their items. The menu IDs
  195.    have an "m" prefix and the item numbers within each menu have an "i" prefix. */
  196. #define    mApple                    255        /* Apple menu */
  197. #define    iAbout                    1
  198.  
  199. #define    mFile                    256        /* File menu */
  200.  
  201. #define    mEdit                    257        /* Edit menu */
  202.  
  203.  
  204. resource 'MBAR' (255, preload) {
  205.     { mApple  };        /* File and edit are added later */
  206. };
  207.  
  208.  
  209. resource 'MENU' (mApple, preload) {
  210.     mApple, textMenuProc,
  211.     0b1111111111111111111111111111101,    /* disable dashed line, enable About and DAs */
  212.     enabled, apple,
  213.     {
  214.         "About OpenDoc™…",
  215.             noicon, nokey, nomark, plain;
  216.         "-",
  217.             noicon, nokey, nomark, plain
  218.     }
  219. };
  220.  
  221. resource 'MENU' (mFile, preload) {
  222.     mFile, textMenuProc,
  223.     0b0000000000000000001011111010101,    
  224.     enabled, "Document",
  225.     {
  226.         "New",
  227.             noicon, "N", nomark, plain;
  228.         "Open Selection",
  229.             noicon, nokey, nomark, plain;
  230.         "Open Document…",
  231.             noicon, "O", nomark, plain;
  232.         "Insert…",
  233.             noicon, nokey, nomark, plain;
  234.         "Close",
  235.             noicon, "W", nomark, plain;
  236.         "Delete",
  237.             noicon, nokey, nomark, plain;
  238.         "-",
  239.             noicon, nokey, nomark, plain;
  240.         "Save",
  241.             noicon, "S", nomark, plain;
  242.         "Save a Copy…",
  243.             noicon, nokey, nomark, plain;
  244.         "Revert to Saved",
  245.             noicon, nokey, nomark, plain;
  246.         "Drafts…",
  247.             noicon, nokey, nomark, plain;
  248.         "Document Info",
  249.             noicon, nokey, nomark, plain;
  250.         "-",
  251.             noicon, nokey, nomark, plain;
  252.         "Page Setup…",
  253.             noicon, nokey, nomark, plain;
  254.         "Print…",
  255.             noicon, "P", nomark, plain
  256.     }
  257. };
  258.  
  259. resource 'MENU' (mEdit, preload) {
  260.     mEdit, textMenuProc,
  261.     0b0000000000000000000000000000000,    /* disable everything, program does the enabling */
  262.     enabled, "Edit",
  263.      {
  264.         "Undo",
  265.             noicon, "Z", nomark, plain;
  266.         "Redo",
  267.             noicon, "R", nomark, plain;
  268.         "-",
  269.             noicon, nokey, nomark, plain;
  270.         "Cut",
  271.             noicon, "X", nomark, plain;
  272.         "Copy",
  273.             noicon, "C", nomark, plain;
  274.         "Paste",
  275.             noicon, "V", nomark, plain;
  276.         "Paste As…",
  277.             noicon, nokey, nomark, plain;
  278.         "Clear",
  279.             noicon, nokey, nomark, plain;
  280.         "Select All",
  281.             noicon, "A", nomark, plain;
  282.         "-",
  283.             noicon, nokey, nomark, plain;
  284.         "Part Info",
  285.             noicon, "L", nomark, plain;
  286.         "Preferences…",
  287.             noicon, nokey, nomark, plain;
  288.         "-",
  289.             noicon, nokey, nomark, plain;
  290.         "View in Window",
  291.             noicon, nokey, nomark, plain
  292.     }
  293. };
  294.  
  295. /* saving to a different volume status dialog */
  296.     /* $$$$$ fix coordinates below */
  297.  
  298. resource 'DLOG' (kSHLSaveDiffVolDialogID) {
  299.     {40, 40, 92, 297},
  300.     dBoxProc,
  301.     visible,
  302.     goAway,
  303.     0x0,
  304.     kSHLSaveDiffVolDialogID,
  305.     "",
  306.     alertPositionParentWindowScreen
  307. };
  308.  
  309. resource 'DITL' (kSHLSaveDiffVolDialogID) {
  310.     {    /* array DITLarray: 2 elements */
  311.         /* [1] */
  312.         {10, 20, 42, 52},
  313.         Icon {
  314.             disabled,
  315.             1
  316.         },
  317.         /* [2] */
  318.         {10, 65, 42, 259},
  319.         StaticText {
  320.             disabled,
  321.             "Saving Document..."    /* $$$$$ should have document name */
  322.         }
  323.     }
  324. };
  325.  
  326.  
  327. /* "Do you want to save changes?" dialog */
  328. resource 'DLOG' (kSHLsvChanges) {
  329.     {94, 80, 211, 434},    
  330.     dBoxProc, invisible, noGoAway, 0,
  331.     kSHLsvChanges,
  332.     "",
  333.     alertPositionParentWindowScreen
  334. };
  335.  
  336. /* Item list for "Do you want to save changes?" dialog              */
  337. /* Note: Strings in the STR# following this DITL correspond to     */
  338. /* Each DITL item.  Strings represent the command key code       */
  339. /* for buttons in this DITL.                                     */
  340. resource 'DITL' (kSHLsvChanges) {
  341.     {    /* array DITLarray: 5 elements */
  342.         /* [1] */
  343.         {87, 284, 107, 344},
  344.         Button {
  345.             enabled,
  346.             "Save"
  347.         },
  348.         /* [2] */
  349.         {87, 211, 107, 271},
  350.         Button {
  351.             enabled,
  352.             "Cancel"
  353.         },
  354.         /* [3] */
  355.         {87, 70, 107, 155},
  356.         Button {
  357.             enabled,
  358.             "Don’t Save"
  359.         },
  360.         /* [4] */
  361.         {10, 20, 42, 52},
  362.         Icon {
  363.             disabled,
  364.             2
  365.         },
  366.         /* [5] */
  367.         {10, 72, 76, 344},
  368.         StaticText {
  369.             disabled,
  370.             "Save changes to the document “^0” before closing?"
  371.         }
  372.     }
  373. };
  374.  
  375.  
  376. /* Command-key codes for corresponding dialog items in Save Changes */
  377. resource 'STR#' ( kSHLsvChangesCmdKeyStrs, purgeable ) {
  378.     {    "s",    /* Save button          */
  379.         ".",    /* Cancel button      */
  380.         "d"        /* Don't Save button */    }
  381. };
  382.  
  383.  
  384. /* Document-dragged-to-Trash alert: */
  385.  
  386. /* Currently no alert is used. If it will be, uncomment this resource. */
  387. #if 0
  388.     resource 'ALRT' (kSHLDragToTrashAlert, "Trash Alert", purgeable) {
  389.         {40, 40, 210, 430},
  390.         kSHLDragToTrashAlert,
  391.         beepStages, 
  392.         alertPositionParentWindowScreen
  393.     };
  394.  
  395.     resource 'DITL' (kSHLDragToTrashAlert, "Trash Alert") {
  396.         {
  397.             {140, 310, 160, 370},    Button { enabled, "Save" },
  398.             {140, 70, 160, 150},    Button { enabled, "Don't Save" },
  399.             {140, 160, 160, 300},    Button { enabled, "Remove From Trash" },
  400.             {10, 20, 42, 52},        Icon   { disabled, 2 },
  401.             {10, 70, 130, 370},        StaticText { disabled,
  402.                 "The document “^0” has been dragged to the trash. Changes have been made "
  403.                 "since the last time this document was saved. \n\nSave changes to this "
  404.                 "document before closing it?"
  405.             }
  406.         }
  407.     };
  408. #endif
  409.  
  410.  
  411. /* "Revert to the last saved version?" dialog */
  412. resource 'DLOG' (kSHLsvRevert) {
  413.     {94, 80, 194, 380},
  414.     dBoxProc, invisible, noGoAway, 0,
  415.     kSHLsvRevert,
  416.     "",
  417.     alertPositionParentWindowScreen
  418. };
  419.  
  420. /* Item list for Revert dialog                                      */
  421. /* Note: Strings in the STR# following this DITL correspond to     */
  422. /* Each DITL item.  Strings represent the command key code       */
  423. /* for buttons in this DITL.                                     */
  424. resource 'DITL' (kSHLsvRevert) {
  425.     {    /* array DITLarray: 4 elements */
  426.         /* [1] */
  427.         {73, 230, 93, 290},
  428.         Button {
  429.             enabled,
  430.             "Revert"
  431.         },
  432.         /* [2] */
  433.         {73, 157, 93, 217},
  434.         Button {
  435.             enabled,
  436.             "Cancel"
  437.         },
  438.         /* [3] */
  439.         {10, 20, 42, 52},
  440.         Icon {
  441.             disabled,
  442.             2
  443.         },
  444.         /* [4] */
  445.         {10, 71, 61, 300},
  446.         StaticText {
  447.             disabled,
  448.             "Revert to the last saved version of the document “^1”?"
  449.         }
  450.     }
  451. };
  452.  
  453.  
  454. /* Command-key codes for corresponding dialog items in Revert Dialog */
  455. resource 'STR#' ( kSHLsvRevertCmdKeyStrs, purgeable ) {
  456.     {    "r",    /* Revert button */
  457.         "."        /* Cancel button */    }
  458. };
  459.  
  460. /* "Delete this document?" dialog */
  461. resource 'DLOG' (kSHLDeleteDLOG) {
  462.     {94, 80, 194, 380},
  463.     dBoxProc, invisible, noGoAway, 0,
  464.     kSHLDeleteDLOG,
  465.     "",
  466.     alertPositionParentWindowScreen
  467. };
  468.  
  469. /* Item list for Delete dialog                                      */
  470. /* Note: Strings in the STR# following this DITL correspond to     */
  471. /* Each DITL item.  Strings represent the command key code       */
  472. /* for buttons in this DITL.                                     */
  473. resource 'DITL' (kSHLDeleteDLOG) {
  474.     {    /* array DITLarray: 4 elements */
  475.         /* [1] */
  476.         {73, 230, 93, 290},
  477.         Button {
  478.             enabled,
  479.             "Delete"
  480.         },
  481.         /* [2] */
  482.         {73, 157, 93, 217},
  483.         Button {
  484.             enabled,
  485.             "Cancel"
  486.         },
  487.         /* [3] */
  488.         {10, 20, 42, 52},
  489.         Icon {
  490.             disabled,
  491.             2
  492.         },
  493.         /* [4] */
  494.         {10, 71, 61, 300},
  495.         StaticText {
  496.             disabled,
  497.             "Delete the document “^1”?"
  498.         }
  499.     }
  500. };
  501.  
  502.  
  503. /* Command-key codes for corresponding dialog items in Revert Dialog */
  504. resource 'STR#' ( kSHLDeleteDLOGCmdKeyStrs, purgeable ) {
  505.     {    "d",    /* Delete button */
  506.         "."        /* Cancel button */    }
  507. };
  508.  
  509.  
  510. /* Save a copy dialog */
  511. resource 'DLOG' (kSHLSaveCopyDlgID, "Save A Copy", purgeable) {
  512.     {0, 0, 178+11+19+7, 344},
  513.     dBoxProc, invisible, noGoAway, 0,
  514.     kSHLSaveCopyDlgID, 
  515.     "",
  516.     alertPositionParentWindowScreen
  517. };
  518.  
  519. resource 'DITL'(kSHLSaveCopyDlgID, "Save A Copy") {    
  520.     {
  521.         /*   The first 12 items are from the default Save dialog
  522.          *   as described on p.age 3-18 and 3-19 of Inside Mac:Files
  523.          */ 
  524.         /* sfItemOpenButton */
  525.         {154+16+12, 252, 174+16+12, 332}, Button { enabled, "Save" },
  526.         /* sfItemCancelButton */
  527.         {123+12+12, 252, 143+12+12, 332}, Button { enabled, "Cancel" },
  528.         /* sfItemBalloonHelp */
  529.         {0, 0, 0, 0}, UserItem { disabled }, /* HelpItem { disabled, HMScanhdlg {-6043}},*/
  530.         /* sfItemVolumeUser */
  531.         {8, 235, 24, 337}, UserItem { enabled },
  532.         /* sfItemEjectButton */
  533.         {32, 252, 52, 332}, Button { enabled, "Eject" },
  534.         /* sfItemDesktopButton */
  535.         {60, 252, 80, 332}, Button { enabled, "Desktop" },
  536.         /* sfItemFileListUser */
  537.         {29, 12, 127, 230}, UserItem { enabled },
  538.         /* sfItemPopUpMenuUser */
  539.         {6, 12, 25, 230}, UserItem { enabled },
  540.         /* sfItemDividerLinePict */
  541.         {115+6+6, 250, 116+6+6, 334}, Picture { disabled, 11 },
  542.         /* sfItemFileNameTextEdit */
  543.         {150, 15, 150+16, 227}, EditText { enabled, "" },
  544.         /* sfItemPromptStaticText */
  545.         {129, 15, 129+16, 227}, StaticText { disabled, "Save as:" },
  546.         /* sfItemNewFolderUser */
  547.         {88, 252, 108, 332}, UserItem { disabled },
  548.         /* 
  549.          *   New items specific to OpenDoc follow
  550.          */
  551.         /* kSHLSaCDocumentRadioBtn */
  552.         {166+18, 15, 166+18+16, 120}, RadioButton {enabled, "    Document"},
  553.         /* kSHLSaCStationeryRadioBtn */
  554.         {166+18, 125, 166+18+16, 227}, RadioButton {enabled, "    Stationery"},
  555.         /* kSHLSaCKindPopupItem */
  556.         {166+11+16+8+1000, 15-3, 166+11+16+8+19+1000, 227+3}, Control {disabled, kSHLSaCKindPopupItem},
  557.         /* kSHLSaCDocumentIconItem */
  558.         {166+17, 15+17, 166+17+16, 15+17+16}, UserItem {disabled},
  559.         /* kSHLSaCStationeryIconItem */
  560.         {166+17, 125+17, 166+17+16, 125+17+16}, UserItem {disabled}
  561.     }
  562. };
  563.  
  564.  
  565. /* Dialog color table -- allows CustomPutFile to use color */
  566. resource 'dctb' (kSHLSaveCopyDlgID, "Save a Copy") {
  567.     0,
  568.     0,
  569.     {
  570.         wContentColor,0xFFFF,0xFFFF,0xFFFF
  571.     }
  572. };
  573.  
  574.  
  575. resource 'CNTL' (kSHLSaCKindPopupItem) {
  576.         {173+11, 15-3, 173+11+19, 227+3},
  577.         popupTitleRightJust,
  578.         visible,
  579.         40,                    /* width of title in pixels     */
  580.         kSHLSaCKindPopupMenu,                /* resource id of MENU resource */
  581.         popupMenuCDEFproc+popupUseWFont+popupFixedWidth,
  582.         0,                    /* Refcon */
  583.         "Kind:"
  584. };
  585.  
  586. resource 'MENU' (kSHLSaCKindPopupMenu, "Kind") {
  587.     kSHLSaCKindPopupMenu,
  588.     textMenuProc,
  589.     allEnabled,
  590.     enabled,
  591.     "Kind",
  592.     {    /* array: 1 elements */
  593.         "Translate to…", noIcon, noKey, noMark, italic
  594.     }
  595. };
  596.  
  597.  
  598. resource 'ics8' (kSHLSaCDocumentIconID) {
  599.     $"00FF FFFF FFFF FFFF FFFF FF00 0000 0000"
  600.     $"00FF F5F5 F5F5 F5F5 F5F5 FFFF 0000 0000"
  601.     $"00FF F5F5 F5F5 F5F5 F5F5 FF2B FF00 0000"
  602.     $"00FF F5F5 F5F5 F5F5 F5F5 FFFF FFFF 0000"
  603.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  604.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  605.     $"00FF F5F5 FFF5 FFFF F5FF FFF5 F5FF 0000"
  606.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  607.     $"00FF F5F5 FFFF FFFF F5FF FFF5 F5FF 0000"
  608.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  609.     $"00FF F5F5 FFFF F5FF FFF5 FFF5 F5FF 0000"
  610.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  611.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  612.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  613.     $"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
  614.     $"00FF FFFF FFFF FFFF FFFF FFFF FFFF"
  615. };
  616.  
  617. resource 'ics8' (kSHLSaCStationeryIconID) {
  618.     $"00FF FFFF FFFF FFFF FFFF FFFF 0000 0000"
  619.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF 0000 0000"
  620.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF FFFF 0000"
  621.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF F9FF 0000"
  622.     $"00FF F5F5 FFF5 FFFF F5FF F5FF F9FF 0000"
  623.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF F9FF 0000"
  624.     $"00FF F5F5 FFFF FFFF F5FF F5FF F9FF 0000"
  625.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF F9FF 0000"
  626.     $"00FF F5F5 FFFF F5FF FFF5 F5FF F9FF 0000"
  627.     $"00FF F5F5 F5F5 F5F5 F5F5 F5FF F9FF 0000"
  628.     $"00FF F5F5 F5F5 F5F5 FFFF FFFF F9FF 0000"
  629.     $"00FF F5F5 F5F5 F5F5 FFF6 FFF9 F9FF 0000"
  630.     $"00FF F5F5 F5F5 F5F5 FFFF F9F9 F6FF 0000"
  631.     $"00FF FFFF FFFF FFFF FFF9 F9F6 F6FF 0000"
  632.     $"0000 00FF F9F9 F9F9 F9F9 F6F6 F6FF 0000"
  633.     $"0000 00FF FFFF FFFF FFFF FFFF FFFF"
  634. };
  635.  
  636. resource 'ics4' (kSHLSaCDocumentIconID) {
  637.     $"0FFF FFFF FFF0 0000 0F00 0000 00FF 0000"
  638.     $"0F00 0000 00FC F000 0F00 0000 00FF FF00"
  639.     $"0F00 0000 0000 0F00 0F00 0000 0000 0F00"
  640.     $"0F00 F0FF 0FF0 0F00 0F00 0000 0000 0F00"
  641.     $"0F00 FFFF 0FF0 0F00 0F00 0000 0000 0F00"
  642.     $"0F00 FF0F F0F0 0F00 0F00 0000 0000 0F00"
  643.     $"0F00 0000 0000 0F00 0F00 0000 0000 0F00"
  644.     $"0F00 0000 0000 0F00 0FFF FFFF FFFF FF"
  645. };
  646.  
  647. resource 'ics4' (kSHLSaCStationeryIconID) {
  648.     $"0FFF FFFF FFFF 0000 0F00 0000 000F 0000"
  649.     $"0F00 0000 000F FF00 0F00 0000 000F DF00"
  650.     $"0F00 F0FF 0F0F DF00 0F00 0000 000F DF00"
  651.     $"0F00 FFFF 0F0F DF00 0F00 0000 000F DF00"
  652.     $"0F00 FF0F F00F DF00 0F00 0000 000F DF00"
  653.     $"0F00 0000 FFFF DF00 0F00 0000 FCFD DF00"
  654.     $"0F00 0000 FFDD CF00 0FFF FFFF FDDC CF00"
  655.     $"000F DDDD DDCC CF00 000F FFFF FFFF FF"
  656. };
  657.  
  658. resource 'ics#' (kSHLSaCDocumentIconID) {
  659.     {    /* array: 2 elements */
  660.         /* [1] */
  661.         $"7FE0 4030 4028 403C 4004 4004 4B64 4004"
  662.         $"4F64 4004 4DA4 4004 4004 4004 4004 7FFC",
  663.         /* [2] */
  664.         $"7FE0 7FF0 7FF8 7FFC 7FFC 7FFC 7FFC 7FFC"
  665.         $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
  666.     }
  667. };
  668.  
  669. resource 'ics#' (kSHLSaCStationeryIconID) {
  670.     {    /* array: 2 elements */
  671.         /* [1] */
  672.         $"7FF0 4010 401C 4014 4B54 4014 4F54 4014"
  673.         $"4D94 4014 40F4 40A4 40C4 7F84 1004 1FFC",
  674.         /* [2] */
  675.         $"7FF0 7FF0 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
  676.         $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 1FFC 1FFC"
  677.     }
  678. };
  679.  
  680.  
  681.  
  682. //-------------------------------------------------------------------------------------
  683. // Folder names
  684. //-------------------------------------------------------------------------------------
  685.  
  686.  
  687. resource 'STR ' (kODEditorsFldrStrID, "Editors Folder name") {
  688.     "Editors"
  689. };
  690.  
  691. resource 'STR ' (kODStationeryFldrStrID, "Stationery Folder name") {
  692.     "Stationery"
  693. };
  694.  
  695. resource 'STR ' (kODOpenDocPartsFolderStrID, "OpenDoc Parts Folder name") {
  696.     "OpenDoc"
  697. };
  698.  
  699. resource 'STR ' (kODShellPlugInFolderStrID, "OD Shell Plug Ins Folder name") {
  700.     "OpenDoc Shell Plug-Ins"
  701. };
  702.  
  703. // Note: the following two resources were copied from Core.r.
  704. // A copy of these resources also exists in OpenDocX.r
  705.  
  706. resource 'STR ' (kSHLPrefsFileNameResID, "ODPrefs file name") {
  707.     "OpenDoc Preferences"
  708. };
  709.  
  710. resource 'STR ' (kSHLPrefsFolderNameResID, "ODPrefs folder name") {
  711.     "OpenDoc Prefs"
  712. };
  713.  
  714. //-------------------------------------------------------------------------------------
  715. // New filename construction template
  716. //-------------------------------------------------------------------------------------
  717.  
  718. // Shell new filename construction template
  719. // ^0 is the text seed (like "untitled"), ^1 is the date (like "5/18/95")
  720. // Localizers can change string delimiter & order, and can add suffix or prefix
  721. // Note that string will be truncated from end when a number is added to achieve
  722. // filename uniqueness.
  723.  
  724. resource 'STR ' (kSHLNewFilenameTemplateStrID, "") {
  725.     "^0 ^1"
  726. };
  727.  
  728. #include "UtilCmmn.r"
  729.  
  730. //-------------------------------------------------------------------------------------
  731. // Save, Close and Delete menuitem text construction templates
  732. //-------------------------------------------------------------------------------------
  733.  
  734. resource 'STR ' (kSHLSaveItemTemplateStrID, "") {
  735.     "Save ^0"
  736. };
  737.  
  738. resource 'STR ' (kSHLCloseItemTemplateStrID, "") {
  739.     "Close ^0"
  740. };
  741.  
  742. resource 'STR ' (kSHLDeleteItemTemplateStrID, "") {
  743.     "Delete ^0"
  744. };
  745.  
  746. resource 'STR ' (kSHLPlugInErrorStrID, "") {
  747.     "The OpenDoc Shell Plug-Ins “^0” failed to install properly due to the "
  748.     "following error: “^1” Try removing it from your Shell Plug-Ins folder."
  749. };
  750.  
  751.  
  752. //-------------------------------------------------------------------------------------
  753. // Error handling resources
  754. //-------------------------------------------------------------------------------------
  755.  
  756. /*
  757.     OpenDoc Error Resources
  758.     based on MacApp ErrorMgr resources
  759. */
  760.  
  761. /* NOTE:
  762.  
  763.     By Toolbox convention, the OK button is item 1 and the Cancel button
  764.         is item 2.
  765. */
  766.  
  767. resource 'ALRT' (kSHLphGenError,purgeable) {
  768.     {80, 80, 258, 462},
  769.     kSHLphGenError,
  770.     {    /* array: 4 elements */
  771.         /* [1] */
  772.         OK, visible, sound1;
  773.         /* [2] */
  774.         OK, visible, sound1;
  775.         /* [3] */
  776.         OK, visible, sound1;
  777.         /* [4] */
  778.         OK, visible, sound1
  779.     }
  780. #if SystemSevenOrLater
  781.     ,
  782.     alertPositionParentWindowScreen
  783. #endif
  784. };
  785.  
  786. resource 'DITL' (kSHLphGenError,purgeable) {
  787.     {    /* array DITLarray: 3 elements */
  788.         /* [1] */
  789.         {140, 258, 158, 332},
  790.         Button {
  791.             enabled,
  792.             "OK"
  793.         },
  794.         /* [2] */
  795.         /*    ^0 = userfriendly reason for error and how to recover; 
  796.                 e.g., 'The disk is locked.  Eject the disk and move the tab.'
  797.             or
  798.                 technically detailed reason for error
  799.                 e.g., 'Volume error.'
  800.         */
  801.         {10, 70, 135, 332},
  802.         StaticText {
  803.             disabled,
  804.             "^0\n^2"        /* ^2 is the exception message str in the technical err alert. */
  805.         },
  806.         /* [3] */
  807.         /*    ^1 = exception number for error; 
  808.                 e.g., 'Exception: 5'
  809.         */
  810.         {140, 70, 158, 250},
  811.         StaticText {
  812.             disabled,
  813.             "^1"
  814.         },
  815.         /* [4] */
  816.         {10, 20, 42, 52},
  817.         Icon {
  818.             disabled,
  819.             0
  820.         }
  821.     }
  822. };
  823.  
  824. /* Used when free memory is very low */
  825.  
  826. resource 'ALRT' (kSHLphSpaceIsLow) {
  827.     {49, 40, 189 /*was 174*/, 370},
  828.     kSHLphSpaceIsLow,
  829.     {    /* array: 4 elements */
  830.         /* [1] */
  831.         OK, visible, sound1;
  832.         /* [2] */
  833.         OK, visible, sound1;
  834.         /* [3] */
  835.         OK, visible, sound1;
  836.         /* [4] */
  837.         OK, visible, sound1
  838.     },
  839.     alertPositionParentWindowScreen
  840. };
  841.  
  842. resource 'DITL' (kSHLphSpaceIsLow) {
  843.     {    /* array DITLarray: 5 elements */
  844.         /* [1] */
  845.         {103 /*was 88*/, 250, 123 /*was 108*/, 310},
  846.         Button {
  847.             enabled,
  848.             "Save"
  849.         },
  850.         /* [2] */
  851.         {103 /*was 88*/, 177, 123 /*was 108*/, 237},
  852.         Button {
  853.             enabled,
  854.             "Cancel"
  855.         },
  856.         /* [3] */
  857.         {103 /*was 88*/, 36, 123 /*was 108*/, 121},
  858.         Button {
  859.             enabled,
  860.             "Don’t Save"
  861.         },
  862.         /* [4] */
  863.         {10, 20, 42, 52},
  864.         Icon {
  865.             disabled,
  866.             2
  867.         },
  868.         /* [5] */
  869.         {10, 70, 92 /*was 77*/, 310},
  870.         StaticText {
  871.             disabled,
  872.             "OpenDoc is almost out of memory. We reco"
  873.             "mmend that you close this document immediatel"
  874.             "y. Closing other windows or applications"
  875.             " can also free up memory."
  876.         }
  877.     }
  878. };
  879.  
  880.  
  881. resource 'ALRT' (kSHLphAppSpaceIsLow) {
  882.     {55, 49, 208 /*was 193*/, 379},
  883.     kSHLphAppSpaceIsLow,
  884.     {    /* array: 4 elements */
  885.         /* [1] */
  886.         OK, visible, sound1;
  887.         /* [2] */
  888.         OK, visible, sound1;
  889.         /* [3] */
  890.         OK, visible, sound1;
  891.         /* [4] */
  892.         OK, visible, sound1
  893.     },
  894.     alertPositionParentWindowScreen
  895. };
  896.  
  897. resource 'DITL' (kSHLphAppSpaceIsLow) {
  898.     {    /* array DITLarray: 5 elements */
  899.         /* [1] */
  900.         {118 /*was 103*/, 250, 138 /*was 123*/, 310},
  901.         Button {
  902.             enabled,
  903.             "Save"
  904.         },
  905.         /* [2] */
  906.         {118 /*was 103*/, 177, 138 /*was 123*/, 237},
  907.         Button {
  908.             enabled,
  909.             "Cancel"
  910.         },
  911.         /* [3] */
  912.         {118 /*was 103*/, 36, 138 /*was 123*/, 121},
  913.         Button {
  914.             enabled,
  915.             "Don’t Save"
  916.         },
  917.         /* [4] */
  918.         {10, 20, 42, 52},
  919.         Icon {
  920.             disabled,
  921.             2
  922.         },
  923.         /* [5] */
  924.         {10, 70, 108 /*was 93*/, 310},
  925.         StaticText {
  926.             disabled,
  927.             "This document is almost out of memory."
  928.             " We recommend that you close it immediately or"
  929.             " close other windows. Use the Document Info command"
  930.             " to increase the amount of memory reserved for it."
  931.         }
  932.     }
  933. };
  934.  
  935.  
  936. resource 'ALRT' (kSHLphSpaceIsLowNoSave) {
  937.     {49, 40, 189 /*was 174*/, 370},
  938.     kSHLphSpaceIsLowNoSave,
  939.     {    /* array: 4 elements */
  940.         /* [1] */
  941.         OK, visible, sound1,
  942.         /* [2] */
  943.         OK, visible, sound1,
  944.         /* [3] */
  945.         OK, visible, sound1,
  946.         /* [4] */
  947.         OK, visible, sound1
  948.     },
  949.     alertPositionParentWindowScreen
  950. };
  951.  
  952. resource 'DITL' (kSHLphSpaceIsLowNoSave) {
  953.     {    /* array DITLarray: 4 elements */
  954.         /* [1] */
  955.         {103 /*was 88*/, 250, 123 /*was 108*/, 310},
  956.         Button {
  957.             enabled,
  958.             "Close"
  959.         },
  960.         /* [2] */
  961.         {103 /*was 88*/, 177, 123 /*was 108*/, 237},
  962.         Button {
  963.             enabled,
  964.             "Cancel"
  965.         },
  966.         /* [3] */
  967.         {10, 20, 42, 52},
  968.         Icon {
  969.             disabled,
  970.             2
  971.         },
  972.         /* [4] */
  973.         {10, 70, 92 /*was 77*/, 310},
  974.         StaticText {
  975.             disabled,
  976.             "OpenDoc is almost out of memory. We reco"
  977.             "mmend that you close this document immediatel"
  978.             "y. Closing other windows or applications"
  979.             " can also free up memory."
  980.         }
  981.     }
  982. };
  983.  
  984. resource 'ALRT' (kSHLphAppSpaceIsLowNoSave) {
  985.     {55, 49, 208 /*was 193*/, 379},
  986.     kSHLphAppSpaceIsLowNoSave,
  987.     {    /* array: 4 elements */
  988.         /* [1] */
  989.         OK, visible, sound1,
  990.         /* [2] */
  991.         OK, visible, sound1,
  992.         /* [3] */
  993.         OK, visible, sound1,
  994.         /* [4] */
  995.         OK, visible, sound1
  996.     },
  997.     alertPositionParentWindowScreen
  998. };
  999.  
  1000. resource 'DITL' (kSHLphAppSpaceIsLowNoSave) {
  1001.     {    /* array DITLarray: 4 elements */
  1002.         /* [1] */
  1003.         {118 /*was 103*/, 250, 138 /*was 123*/, 310},
  1004.         Button {
  1005.             enabled,
  1006.             "Close"
  1007.         },
  1008.         /* [2] */
  1009.         {118 /*was 103*/, 177, 138 /*was 123*/, 237},
  1010.         Button {
  1011.             enabled,
  1012.             "Cancel"
  1013.         },
  1014.         /* [3] */
  1015.         {10, 20, 42, 52},
  1016.         Icon {
  1017.             disabled,
  1018.             2
  1019.         },
  1020.         /* [4] */
  1021.         {10, 70, 108 /*was 93*/, 310},
  1022.         StaticText {
  1023.             disabled,
  1024.             "This document is almost out of memory."
  1025.             " We recommend that you close it immediately or"
  1026.             " close other windows. Use the Document Info command"
  1027.             " to increase the amount of memory reserved for it."
  1028.         }
  1029.     }
  1030. };
  1031.  
  1032.  
  1033. //-------------------------------------------------------------------------------------
  1034. // Misc. Shell Strings
  1035. //-------------------------------------------------------------------------------------
  1036.  
  1037.  
  1038. resource 'STR#' (kSHLStrsID, purgeable) {
  1039.     {
  1040.          "" /* Unused slot. May be reused. See ShellDef.h */
  1041. /*        ;"Close"                */
  1042. /*        ;"Close Document"        */
  1043.         ;"Part Info"
  1044.         
  1045.         ;"Save a copy as:"
  1046.         
  1047.         ;"Exception: "
  1048.         
  1049.         ;"Save as:"
  1050.         
  1051.     }
  1052. };
  1053.  
  1054. resource 'STR ' (kSHLCopyDefaultStrID, purgeable) {
  1055.     "^0 copy"
  1056. };
  1057.  
  1058. resource 'STR ' (kSHLPreODDocNameStrID, purgeable) {
  1059.     "^0 OD"
  1060. };
  1061.  
  1062.  
  1063.  
  1064. //-------------------------------------------------------------------------------------
  1065. // OpenDoc™ About... box
  1066. //-------------------------------------------------------------------------------------
  1067.  
  1068.  
  1069.  
  1070. resource 'PICT' (kSHLAboutBoxDlogID) {
  1071.     7600,
  1072.     {124, 50, 298, 270},
  1073.     $"0011 02FF 0C00 FFFF FFFF 0032 0000 007C"
  1074.     $"0000 010E 0000 012A 0000 0000 0000 001E"
  1075.     $"0001 000A 007C 0032 012A 010E 0099 80DC"
  1076.     $"007C 0032 012A 010E 0000 0000 0000 0000"
  1077.     $"0048 0000 0048 0000 0000 0008 0001 0008"
  1078.     $"0000 0000 00C6 5D2C 0000 0000 0000 05B9"
  1079.     $"0000 00FF 0000 FFFF FFFF FFFF 0001 FFFF"
  1080.     $"FFFF CCCC 0002 FFFF FFFF 9999 0003 FFFF"
  1081.     $"FFFF 6666 0004 FFFF FFFF 3333 0005 FFFF"
  1082.     $"FFFF 0000 0006 FFFF CCCC FFFF 0007 FFFF"
  1083.     $"CCCC CCCC 0008 FFFF CCCC 9999 0009 FFFF"
  1084.     $"CCCC 6666 000A FFFF CCCC 3333 000B FFFF"
  1085.     $"CCCC 0000 000C FFFF 9999 FFFF 000D FFFF"
  1086.     $"9999 CCCC 000E FFFF 9999 9999 000F FFFF"
  1087.     $"9999 6666 0010 FFFF 9999 3333 0011 FFFF"
  1088.     $"9999 0000 0012 FFFF 6666 FFFF 0013 FFFF"
  1089.     $"6666 CCCC 0014 FFFF 6666 9999 0015 FFFF"
  1090.     $"6666 6666 0016 FFFF 6666 3333 0017 FFFF"
  1091.     $"6666 0000 0018 FFFF 3333 FFFF 0019 FFFF"
  1092.     $"3333 CCCC 001A FFFF 3333 9999 001B FFFF"
  1093.     $"3333 6666 001C FFFF 3333 3333 001D FFFF"
  1094.     $"3333 0000 001E FFFF 0000 FFFF 001F FFFF"
  1095.     $"0000 CCCC 0020 FFFF 0000 9999 0021 FFFF"
  1096.     $"0000 6666 0022 FFFF 0000 3333 0023 FFFF"
  1097.     $"0000 0000 0024 CCCC FFFF FFFF 0025 CCCC"
  1098.     $"FFFF CCCC 0026 CCCC FFFF 9999 0027 CCCC"
  1099.     $"FFFF 6666 0028 CCCC FFFF 3333 0029 CCCC"
  1100.     $"FFFF 0000 002A CCCC CCCC FFFF 002B CCCC"
  1101.     $"CCCC CCCC 002C CCCC CCCC 9999 002D CCCC"
  1102.     $"CCCC 6666 002E CCCC CCCC 3333 002F CCCC"
  1103.     $"CCCC 0000 0030 CCCC 9999 FFFF 0031 CCCC"
  1104.     $"9999 CCCC 0032 CCCC 9999 9999 0033 CCCC"
  1105.     $"9999 6666 0034 CCCC 9999 3333 0035 CCCC"
  1106.     $"9999 0000 0036 CCCC 6666 FFFF 0037 CCCC"
  1107.     $"6666 CCCC 0038 CCCC 6666 9999 0039 CCCC"
  1108.     $"6666 6666 003A CCCC 6666 3333 003B CCCC"
  1109.     $"6666 0000 003C CCCC 3333 FFFF 003D CCCC"
  1110.     $"3333 CCCC 003E CCCC 3333 9999 003F CCCC"
  1111.     $"3333 6666 0040 CCCC 3333 3333 0041 CCCC"
  1112.     $"3333 0000 0042 CCCC 0000 FFFF 0043 CCCC"
  1113.     $"0000 CCCC 0044 CCCC 0000 9999 0045 CCCC"
  1114.     $"0000 6666 0046 CCCC 0000 3333 0047 CCCC"
  1115.     $"0000 0000 0048 9999 FFFF FFFF 0049 9999"
  1116.     $"FFFF CCCC 004A 9999 FFFF 9999 004B 9999"
  1117.     $"FFFF 6666 004C 9999 FFFF 3333 004D 9999"
  1118.     $"FFFF 0000 004E 9999 CCCC FFFF 004F 9999"
  1119.     $"CCCC CCCC 0050 9999 CCCC 9999 0051 9999"
  1120.     $"CCCC 6666 0052 9999 CCCC 3333 0053 9999"
  1121.     $"CCCC 0000 0054 9999 9999 FFFF 0055 9999"
  1122.     $"9999 CCCC 0056 9999 9999 9999 0057 9999"
  1123.     $"9999 6666 0058 9999 9999 3333 0059 9999"
  1124.     $"9999 0000 005A 9999 6666 FFFF 005B 9999"
  1125.     $"6666 CCCC 005C 9999 6666 9999 005D 9999"
  1126.     $"6666 6666 005E 9999 6666 3333 005F 9999"
  1127.     $"6666 0000 0060 9999 3333 FFFF 0061 9999"
  1128.     $"3333 CCCC 0062 9999 3333 9999 0063 9999"
  1129.     $"3333 6666 0064 9999 3333 3333 0065 9999"
  1130.     $"3333 0000 0066 9999 0000 FFFF 0067 9999"
  1131.     $"0000 CCCC 0068 9999 0000 9999 0069 9999"
  1132.     $"0000 6666 006A 9999 0000 3333 006B 9999"
  1133.     $"0000 0000 006C 6666 FFFF FFFF 006D 6666"
  1134.     $"FFFF CCCC 006E 6666 FFFF 9999 006F 6666"
  1135.     $"FFFF 6666 0070 6666 FFFF 3333 0071 6666"
  1136.     $"FFFF 0000 0072 6666 CCCC FFFF 0073 6666"
  1137.     $"CCCC CCCC 0074 6666 CCCC 9999 0075 6666"
  1138.     $"CCCC 6666 0076 6666 CCCC 3333 0077 6666"
  1139.     $"CCCC 0000 0078 6666 9999 FFFF 0079 6666"
  1140.     $"9999 CCCC 007A 6666 9999 9999 007B 6666"
  1141.     $"9999 6666 007C 6666 9999 3333 007D 6666"
  1142.     $"9999 0000 007E 6666 6666 FFFF 007F 6666"
  1143.     $"6666 CCCC 0080 6666 6666 9999 0081 6666"
  1144.     $"6666 6666 0082 6666 6666 3333 0083 6666"
  1145.     $"6666 0000 0084 6666 3333 FFFF 0085 6666"
  1146.     $"3333 CCCC 0086 6666 3333 9999 0087 6666"
  1147.     $"3333 6666 0088 6666 3333 3333 0089 6666"
  1148.     $"3333 0000 008A 6666 0000 FFFF 008B 6666"
  1149.     $"0000 CCCC 008C 6666 0000 9999 008D 6666"
  1150.     $"0000 6666 008E 6666 0000 3333 008F 6666"
  1151.     $"0000 0000 0090 3333 FFFF FFFF 0091 3333"
  1152.     $"FFFF CCCC 0092 3333 FFFF 9999 0093 3333"
  1153.     $"FFFF 6666 0094 3333 FFFF 3333 0095 3333"
  1154.     $"FFFF 0000 0096 3333 CCCC FFFF 0097 3333"
  1155.     $"CCCC CCCC 0098 3333 CCCC 9999 0099 3333"
  1156.     $"CCCC 6666 009A 3333 CCCC 3333 009B 3333"
  1157.     $"CCCC 0000 009C 3333 9999 FFFF 009D 3333"
  1158.     $"9999 CCCC 009E 3333 9999 9999 009F 3333"
  1159.     $"9999 6666 00A0 3333 9999 3333 00A1 3333"
  1160.     $"9999 0000 00A2 3333 6666 FFFF 00A3 3333"
  1161.     $"6666 CCCC 00A4 3333 6666 9999 00A5 3333"
  1162.     $"6666 6666 00A6 3333 6666 3333 00A7 3333"
  1163.     $"6666 0000 00A8 3333 3333 FFFF 00A9 3333"
  1164.     $"3333 CCCC 00AA 3333 3333 9999 00AB 3333"
  1165.     $"3333 6666 00AC 3333 3333 3333 00AD 3333"
  1166.     $"3333 0000 00AE 3333 0000 FFFF 00AF 3333"
  1167.     $"0000 CCCC 00B0 3333 0000 9999 00B1 3333"
  1168.     $"0000 6666 00B2 3333 0000 3333 00B3 3333"
  1169.     $"0000 0000 00B4 0000 FFFF FFFF 00B5 0000"
  1170.     $"FFFF CCCC 00B6 0000 FFFF 9999 00B7 0000"
  1171.     $"FFFF 6666 00B8 0000 FFFF 3333 00B9 0000"
  1172.     $"FFFF 0000 00BA 0000 CCCC FFFF 00BB 0000"
  1173.     $"CCCC CCCC 00BC 0000 CCCC 9999 00BD 0000"
  1174.     $"CCCC 6666 00BE 0000 CCCC 3333 00BF 0000"
  1175.     $"CCCC 0000 00C0 0000 9999 FFFF 00C1 0000"
  1176.     $"9999 CCCC 00C2 0000 9999 9999 00C3 0000"
  1177.     $"9999 6666 00C4 0000 9999 3333 00C5 0000"
  1178.     $"9999 0000 00C6 0000 6666 FFFF 00C7 0000"
  1179.     $"6666 CCCC 00C8 0000 6666 9999 00C9 0000"
  1180.     $"6666 6666 00CA 0000 6666 0000 00CB 0000"
  1181.     $"6666 3333 00CC 0000 3333 FFFF 00CD 0000"
  1182.     $"3333 CCCC 00CE 0000 3333 9999 00CF 0000"
  1183.     $"3333 6666 00D0 0000 3333 3333 00D1 0000"
  1184.     $"3333 0000 00D2 0000 0000 FFFF 00D3 0000"
  1185.     $"0000 CCCC 00D4 0000 0000 9999 00D5 0000"
  1186.     $"0000 6666 00D6 0000 0000 3333 00D7 EEEE"
  1187.     $"0000 0000 00D8 DDDD 0000 0000 00D9 BBBB"
  1188.     $"0000 0000 00DA AAAA 0000 0000 00DB 8888"
  1189.     $"0000 0000 00DC 7777 0000 0000 00DD 5555"
  1190.     $"0000 0000 00DE 4444 0000 0000 00DF 2222"
  1191.     $"0000 0000 00E0 1111 0000 0000 00E1 0000"
  1192.     $"EEEE 0000 00E2 0000 DDDD 0000 00E3 0000"
  1193.     $"BBBB 0000 00E4 0000 AAAA 0000 00E5 0000"
  1194.     $"8888 0000 00E6 0000 7777 0000 00E7 0000"
  1195.     $"5555 0000 00E8 0000 4444 0000 00E9 0000"
  1196.     $"2222 0000 00EA 0000 1111 0000 00EB 0000"
  1197.     $"0000 EEEE 00EC 0000 0000 DDDD 00ED 0000"
  1198.     $"0000 BBBB 00EE 0000 0000 AAAA 00EF 0000"
  1199.     $"0000 8888 00F0 0000 0000 7777 00F1 0000"
  1200.     $"0000 5555 00F2 0000 0000 4444 00F3 0000"
  1201.     $"0000 2222 00F4 0000 0000 1111 00F5 EEEE"
  1202.     $"EEEE EEEE 00F6 DDDD DDDD DDDD 00F7 BBBB"
  1203.     $"BBBB BBBB 00F8 AAAA AAAA AAAA 00F9 8888"
  1204.     $"8888 8888 00FA 7777 7777 7777 00FB 5555"
  1205.     $"5555 5555 00FC 4444 4444 4444 00FD 2222"
  1206.     $"2222 2222 00FE 1111 1111 1111 00FF 0000"
  1207.     $"0000 0000 007C 0032 012A 010E 007C 0032"
  1208.     $"012A 010E 0000 077C 007C 0032 012A 010E"
  1209.     $"007C 0070 0081 7FFF 007D 006A 0070 0081"
  1210.     $"0087 7FFF 007E 0066 006A 0087 008B 7FFF"
  1211.     $"007F 0063 0066 008B 008E 7FFF 0080 0060"
  1212.     $"0063 008E 0091 7FFF 0081 005D 0060 0091"
  1213.     $"0094 7FFF 0082 005B 005D 0094 0096 7FFF"
  1214.     $"0083 0059 005B 0096 0098 7FFF 0084 0057"
  1215.     $"0059 0098 009A 7FFF 0085 0055 0057 009A"
  1216.     $"009C 7FFF 0086 0053 0055 009C 009E 7FFF"
  1217.     $"0087 0052 0053 009E 009F 7FFF 0088 0050"
  1218.     $"0052 009F 00A1 7FFF 0089 004F 0050 00A1"
  1219.     $"00A2 7FFF 008A 004E 004F 00A2 00A3 7FFF"
  1220.     $"008B 004C 004E 00A3 00A5 7FFF 008C 004B"
  1221.     $"004C 00A5 00A6 7FFF 008D 004A 004B 00A6"
  1222.     $"00A7 7FFF 008E 0049 004A 00A7 00A8 7FFF"
  1223.     $"008F 0048 0049 00A8 00A9 7FFF 0090 0047"
  1224.     $"0048 00A9 00AA 7FFF 0091 0046 0047 00AA"
  1225.     $"00AB 7FFF 0092 0045 0046 00AB 00AC 7FFF"
  1226.     $"0093 0044 0045 00AC 00AD 7FFF 0094 0043"
  1227.     $"0044 00AD 00AE 7FFF 0095 0042 0043 00AE"
  1228.     $"00AF 7FFF 0096 0041 0042 00AF 00B0 7FFF"
  1229.     $"0098 0040 0041 00B0 00B1 7FFF 0099 003F"
  1230.     $"0040 00B1 00B2 7FFF 009A 003E 003F 00B2"
  1231.     $"00B3 7FFF 009C 003D 003E 00B3 00B4 7FFF"
  1232.     $"009D 003C 003D 00B4 00B5 7FFF 009F 003B"
  1233.     $"003C 00B5 00B6 7FFF 00A1 003A 003B 00B6"
  1234.     $"00B7 7FFF 00A3 0039 003A 00B7 00B8 7FFF"
  1235.     $"00A5 0038 0039 00B8 00B9 7FFF 00A7 0037"
  1236.     $"0038 00B9 00BA 7FFF 00AA 0036 0037 00BA"
  1237.     $"00BB 7FFF 00AD 0035 0036 00BB 00BC 7FFF"
  1238.     $"00B0 0034 0035 00BC 00BD 7FFF 00B4 0033"
  1239.     $"0034 00BD 00BE 7FFF 00BA 0032 0033 00BE"
  1240.     $"00BF 7FFF 00CB 0032 0033 00BE 00BF 7FFF"
  1241.     $"00D1 0033 0034 00BD 00BE 7FFF 00D5 0034"
  1242.     $"0035 00BC 00BD 7FFF 00D8 0035 0036 00BB"
  1243.     $"00BC 7FFF 00DB 0036 0037 00BA 00BB 7FFF"
  1244.     $"00DE 0037 0038 00B9 00BA 7FFF 00E0 0038"
  1245.     $"0039 00B8 00B9 7FFF 00E2 0039 003A 00B7"
  1246.     $"00B8 7FFF 00E4 003A 003B 00B6 00B7 7FFF"
  1247.     $"00E6 003B 003C 00B5 00B6 7FFF 00E8 003C"
  1248.     $"003D 00B4 00B5 7FFF 00E9 003D 003E 00B3"
  1249.     $"00B4 7FFF 00EB 003E 003F 00B2 00B3 7FFF"
  1250.     $"00EC 003F 0040 00B1 00B2 7FFF 00ED 0040"
  1251.     $"0041 00B0 00B1 7FFF 00EF 0041 0042 00AF"
  1252.     $"00B0 7FFF 00F0 0042 0043 00AE 00AF 7FFF"
  1253.     $"00F1 0043 0044 00AD 00AE 7FFF 00F2 0044"
  1254.     $"0045 00AC 00AD 7FFF 00F3 0045 0046 00AB"
  1255.     $"00AC 7FFF 00F4 0046 0047 00AA 00AB 7FFF"
  1256.     $"00F5 0047 0048 00A9 00AA 7FFF 00F6 0048"
  1257.     $"0049 00A8 00A9 7FFF 00F7 0049 004A 00A7"
  1258.     $"00A8 7FFF 00F8 004A 004B 00A6 00A7 7FFF"
  1259.     $"00F9 004B 004C 00A5 00A6 7FFF 00FA 004C"
  1260.     $"004E 00A3 00A5 7FFF 00FB 004E 004F 00A2"
  1261.     $"00A3 7FFF 00FC 004F 0050 00A1 00A2 7FFF"
  1262.     $"00FD 0050 0052 009F 00A1 7FFF 00FE 0052"
  1263.     $"0053 009E 009F 7FFF 00FF 0053 0055 009C"
  1264.     $"009E 7FFF 0100 0055 0057 009A 009C 7FFF"
  1265.     $"0101 0057 0059 0098 009A 7FFF 0102 0059"
  1266.     $"005B 0096 0098 7FFF 0103 005B 005D 0094"
  1267.     $"0096 7FFF 0104 005D 0060 0091 0094 7FFF"
  1268.     $"0105 0060 0063 008E 0091 7FFF 0106 0063"
  1269.     $"0066 008B 008E 7FFF 0107 0066 006A 0087"
  1270.     $"008B 7FFF 0108 006A 0070 0081 0087 7FFF"
  1271.     $"0109 0049 0051 0070 0081 00A6 00B6 00F3"
  1272.     $"0104 0109 010E 7FFF 010A 0046 0049 0051"
  1273.     $"0053 00B6 00B9 0104 0105 0108 0109 7FFF"
  1274.     $"010B 0044 0046 0053 0055 00B9 00BA 7FFF"
  1275.     $"010C 0043 0044 0055 0056 00BA 00BB 00F3"
  1276.     $"00F6 00FA 00FF 0107 0108 7FFF 010D 0042"
  1277.     $"0043 0056 0057 00A5 00A6 00BB 00BC 00FE"
  1278.     $"00FF 0102 0103 010D 010E 7FFF 010E 0041"
  1279.     $"0042 0106 0107 7FFF 010F 0040 0041 0057"
  1280.     $"0058 00BC 00BD 7FFF 0110 005D 0063 0066"
  1281.     $"006C 007B 0082 008E 0094 0097 009D 00C7"
  1282.     $"00CF 00DF 00E7 0105 0106 7FFF 0111 003F"
  1283.     $"0040 005C 005D 0064 0066 006C 006E 0078"
  1284.     $"007B 0082 0084 008D 008E 0093 0094 0095"
  1285.     $"0097 009D 009E 00C4 00C7 00CF 00D1 00DC"
  1286.     $"00DF 00E7 00E9 00F5 00F6 00F9 00FA 00FD"
  1287.     $"00FE 0101 0102 0107 0108 010C 010D 7FFF"
  1288.     $"0112 0063 0064 006E 006F 0076 0078 0084"
  1289.     $"0085 0094 0095 009E 009F 00A4 00A5 00C2"
  1290.     $"00C4 00D1 00D2 00DA 00DC 00E9 00EA 7FFF"
  1291.     $"0113 003E 003F 006F 0070 0075 0076 0085"
  1292.     $"0086 0093 0094 00C1 00C2 00D2 00D3 00D9"
  1293.     $"00DA 00EA 00EB 0106 0107 7FFF 0114 0074"
  1294.     $"0075 009F 00A0 00C0 00C1 00D3 00D4 00D8"
  1295.     $"00D9 7FFF 0115 00DF 00E4 7FFF 0116 0057"
  1296.     $"0058 005B 005C 0073 0074 0086 0087 008C"
  1297.     $"008D 0095 0098 009F 00A0 00BC 00BD 00BF"
  1298.     $"00C0 00D7 00D8 00DE 00DF 00F5 00F9 00FD"
  1299.     $"0101 0103 0106 0108 010C 7FFF 0117 003D"
  1300.     $"003E 0094 0095 00A3 00A4 00BE 00BF 00D6"
  1301.     $"00D7 00E4 00EB 7FFF 0118 0072 0073 0093"
  1302.     $"0094 00DD 00DE 7FFF 0119 0056 0057 7FFF"
  1303.     $"011A 00BB 00BC 7FFF 011B 0055 0056 005A"
  1304.     $"005B 006F 0070 0086 0087 008B 008C 0092"
  1305.     $"0093 009E 009F 00D3 00D4 00E3 00EA 7FFF"
  1306.     $"011C 003D 003E 0078 0086 0097 0098 00A2"
  1307.     $"00A3 00BA 00BB 7FFF 011D 0054 0055 006E"
  1308.     $"006F 0078 0079 00B9 00BA 00D2 00D3 00DD"
  1309.     $"00DE 00E2 00E3 7FFF 011E 003E 003F 0053"
  1310.     $"0054 0079 007A 007E 0086 00B8 00B9 00DE"
  1311.     $"00E2 00E9 00EA 7FFF 011F 0052 0053 006D"
  1312.     $"006E 0072 0073 007A 007E 0085 0086 00B7"
  1313.     $"00B8 00BE 00BF 00D1 00D2 00D6 00D7 00E8"
  1314.     $"00E9 7FFF 0120 003F 0040 0051 0052 0059"
  1315.     $"005A 006C 006D 0073 0074 0084 0085 008A"
  1316.     $"008B 0091 0092 009D 009E 00B6 00B7 00BF"
  1317.     $"00C0 00CF 00D1 00D7 00D8 00E7 00E8 7FFF"
  1318.     $"0121 0040 0042 004F 0051 0060 0061 006A"
  1319.     $"006C 0074 0075 0082 0084 0096 0097 00A1"
  1320.     $"00A2 00B5 00B6 00C0 00C1 00CE 00CF 00D8"
  1321.     $"00D9 00E5 00E7 7FFF 0122 0042 0044 004C"
  1322.     $"004F 0061 0063 0068 006A 0075 0077 007F"
  1323.     $"0082 00B2 00B5 00C1 00C3 00CB 00CE 00D9"
  1324.     $"00DB 00E3 00E5 7FFF 0123 0044 004C 0063"
  1325.     $"0068 0077 007F 008A 0091 0096 009D 00A1"
  1326.     $"00B2 00C3 00CB 00DB 00E3 7FFF 0125 0058"
  1327.     $"0059 005F 0060 7FFF 012A 0058 005F 7FFF"
  1328.     $"7FFF 08C3 00F0 FA81 00F4 0008 C900 E4FA"
  1329.     $"8100 FA00 08CD 00DC FA81 00FE 0006 D000"
  1330.     $"D6FA 8100 06D3 00D0 FA84 0006 D600 CAFA"
  1331.     $"8700 06D8 00C6 FA89 0006 DA00 C2FA 8B00"
  1332.     $"06DC 00BE FA8D 000A DE00 E3FA F3F8 E6FA"
  1333.     $"8F00 0DE0 00E3 FA01 0B0B EDF8 EAFA 9100"
  1334.     $"0CE1 00E8 FAF9 0BE9 F8ED FA92 000C E300"
  1335.     $"EAFA F50B E6F8 EEFA 9400 0CE4 00EC FAF2"
  1336.     $"0BE4 F8EF FA95 000C E500 EDFA F00B E1F8"
  1337.     $"F1FA 9600 0CE7 00EE FAED 0BDF F8F1 FA98"
  1338.     $"000C E800 EFFA EB0B DDF8 F2FA 9900 0CE9"
  1339.     $"00F0 FAE9 0BDB F8F3 FA9A 000C EA00 F0FA"
  1340.     $"E80B DAF8 F3FA 9B00 10EB 00F1 FAE6 0BF7"
  1341.     $"F8FE F6E5 F8F4 FA9C 0010 EC00 F2FA E40B"
  1342.     $"F7F8 F8F6 EAF8 F4FA 9D00 10ED 00F2 FAE3"
  1343.     $"0BF7 F8F5 F6EB F8F5 FA9E 0010 EE00 F2FA"
  1344.     $"E20B F7F8 F2F6 EDF8 F5FA 9F00 10EF 00F3"
  1345.     $"FAE0 0BF7 F8F0 F6EE F8F5 FAA0 0010 F000"
  1346.     $"F3FA DF0B F7F8 EEF6 EFF8 F5FA A100 10F1"
  1347.     $"00F3 FADE 0BF7 F8EC F6F0 F8F5 FAA2 0010"
  1348.     $"F200 F3FA DD0B F7F8 EAF6 F1F8 F5FA A300"
  1349.     $"10F2 00F4 FADC 0BF7 F8E8 F6F2 F8F6 FAA3"
  1350.     $"0010 F300 F4FA DB0B F7F8 E7F6 F2F8 F6FA"
  1351.     $"A400 10F4 00F4 FADA 0BF7 F8E5 F6F3 F8F6"
  1352.     $"FAA5 0010 F500 F4FA D90B F7F8 E4F6 F3F8"
  1353.     $"F6FA A600 14F5 00F5 FAEC 0BF8 05F6 0BF7"
  1354.     $"F8E3 F6F3 F8F7 FAA6 0014 F600 F5FA EE0B"
  1355.     $"F205 F90B F7F8 E2F6 F3F8 F7FA A700 14F7"
  1356.     $"00F4 FAF1 0BEC 05FC 0BF7 F8E1 F6F3 F8F7"
  1357.     $"FAA8 0014 F700 F5FA F10B EA05 FD0B F7F8"
  1358.     $"E0F6 F4F8 F7FA A800 15F8 00F5 FAF2 0BE6"
  1359.     $"0501 0B0B F7F8 DFF6 F4F8 F7FA A900 14F8"
  1360.     $"00F6 FAF2 0BE4 0500 0BF7 F8DE F6F4 F8F8"
  1361.     $"FAA9 0012 F900 F5FA F30B E205 F7F8 DDF6"
  1362.     $"F5F8 F7FA AA00 12F9 00F6 FAF3 0BE1 05F7"
  1363.     $"F8DC F6F5 F8F8 FAAA 0012 FA00 F5FA F40B"
  1364.     $"E005 F7F8 DBF6 F5F8 F8FA AB00 14FA 00F6"
  1365.     $"FAF3 0BE0 05F7 F8DB F6F5 F800 F6F9 FAAB"
  1366.     $"0012 FB00 F6FA F30B DF05 F7F8 DAF6 F5F8"
  1367.     $"F8FA AC00 14FB 00F6 FAF4 0BDE 05F7 F8D9"
  1368.     $"F6F6 F800 F6F9 FAAC 0012 FC00 F6FA F30B"
  1369.     $"DE05 F7F8 D9F6 F5F8 F8FA AD00 14FC 00F6"
  1370.     $"FAF3 0BDE 05F7 F8D8 2BF6 F800 2BF9 FAAD"
  1371.     $"0012 FC00 F7FA F30B DD05 F7F8 D72B F6F8"
  1372.     $"F9FA AD00 14FD 00F6 FAF3 0BDD 05F7 F8D7"
  1373.     $"2BF6 F800 2BF9 FAAE 0012 FD00 F6FA F30B"
  1374.     $"DD05 F7F8 D62B F6F8 F9FA AE00 12FD 00F7"
  1375.     $"FAF3 0BDC 05F7 F8D6 2BF6 F8F9 FAAE 0012"
  1376.     $"FE00 F6FA F30B DC05 F7F8 D52B F7F8 F8FA"
  1377.     $"AF00 12FE 00F7 FAF2 0BDC 05F7 F8D5 2BF6"
  1378.     $"F8F9 FAAF 0012 FE00 F7FA F20B DC05 F7F8"
  1379.     $"D52B F6F8 F9FA AF00 1501 0000 F6FA F20B"
  1380.     $"DC05 F7F8 D42B F7F8 002B F9FA B000 1301"
  1381.     $"0000 F7FA F10B DC05 F7F8 D42B F6F8 F9FA"
  1382.     $"B000 1301 0000 F7FA F10B DC05 F7F8 D32B"
  1383.     $"F7F8 F9FA B000 1301 0000 F7FA F10B DC05"
  1384.     $"F7F8 D32B F7F8 F9FA B000 1400 00F6 FAF1"
  1385.     $"0BDC 05F7 F8D3 2BF7 F800 2BF9 FAB1 0012"
  1386.     $"0000 F7FA F00B DC05 F7F8 D32B F6F8 F9FA"
  1387.     $"B100 1200 00F7 FAEF 0BDD 05F7 F8D2 2BF7"
  1388.     $"F8F9 FAB1 0012 0000 F7FA EF0B DD05 F7F8"
  1389.     $"D22B F7F8 F9FA B100 1200 00F7 FAEF 0BDD"
  1390.     $"05F7 F8D2 F7F7 F8F9 FAB1 0014 0000 F7FA"
  1391.     $"EE0B DE05 F7F8 D2F7 F7F8 00F7 FAFA B100"
  1392.     $"10F6 FAEE 0BDE 05F7 F8D2 F7F6 F8F9 FAB2"
  1393.     $"0010 F7FA EC0B DF05 F7F8 D1F7 F7F8 F9FA"
  1394.     $"B200 10F7 FAEC 0BDF 05F7 F8D1 F7F7 F8F9"
  1395.     $"FAB2 0010 F7FA EB0B E005 F7F8 D1F7 F7F8"
  1396.     $"F9FA B200 10F7 FAEA 0BE1 05F7 F8D1 F7F7"
  1397.     $"F8F9 FAB2 0010 F7FA E90B E205 F7F8 D1F7"
  1398.     $"F7F8 F9FA B200 12F7 FAE8 0BE4 0500 0BF7"
  1399.     $"F8D1 F7F7 F8F9 FAB2 0013 F7FA E70B E605"
  1400.     $"010B 0BF7 F8D1 F7F7 F8F9 FAB2 0012 F7FA"
  1401.     $"E60B E905 FD0B F7F8 D1F7 F7F8 F9FA B200"
  1402.     $"0EF7 FAE4 0BEC 05FC 0BBD F8F9 FAB2 000E"
  1403.     $"F7FA E20B F105 F90B BDF8 F9FA B200 0EF7"
  1404.     $"FADF 0BF7 05F6 0BBD F8F9 FAB2 000A F7FA"
  1405.     $"CA0B BDF8 F9FA B200 0AF7 FACA 0BBD F8F9"
  1406.     $"FAB2 000A F7FA CA0B BDF8 F9FA B200 0CF7"
  1407.     $"FA00 11CB 0BBD F8F9 FAB2 000A F6FA CB0B"
  1408.     $"BDF8 F9FA B200 0C00 00F7 FACB 0BBE F8F9"
  1409.     $"FAB1 000C 0000 F7FA CB0B BEF8 F9FA B100"
  1410.     $"1200 00F7 FA00 11CC 0BF7 F8D2 56F7 F8F9"
  1411.     $"FAB1 0012 0000 F7FA 0011 CC0B F7F8 D356"
  1412.     $"F6F8 F9FA B100 1200 00F7 FA00 11CC 0BF7"
  1413.     $"F8D3 56F7 F8F8 FAB1 0012 0000 F6FA 0011"
  1414.     $"CD0B F7F8 D356 F7F8 F8FA B100 1301 0000"
  1415.     $"F7FA 0011 CD0B F7F8 D356 F7F8 F9FA B000"
  1416.     $"1401 0000 F7FA 0111 11CE 0BF7 F8D4 56F6"
  1417.     $"F8F9 FAB0 0014 0100 00F7 FA01 1111 CE0B"
  1418.     $"F7F8 D456 F7F8 F8FA B000 1401 0000 F6FA"
  1419.     $"0111 11CF 0BF7 F8D5 56F6 F8F8 FAB0 0013"
  1420.     $"FE00 F7FA 0111 11CF 0BF7 F8D5 56F6 F8F9"
  1421.     $"FAAF 0012 FE00 F7FA FE11 D00B F7F8 D5F9"
  1422.     $"F7F8 F8FA AF00 13FE 00F6 FA01 1111 D00B"
  1423.     $"F7F8 D6F9 F6F8 F8FA AF00 12FD 00F7 FAFE"
  1424.     $"11D1 0BF7 F8D6 F9F6 F8F9 FAAE 0013 FD00"
  1425.     $"F6FA 0111 11D1 0BF7 F8D7 F9F6 F8F8 FAAE"
  1426.     $"0012 FD00 F6FA FE11 D20B F7F8 D7F9 F6F8"
  1427.     $"F8FA AE00 12FC 00F7 FAFD 11D3 0BF7 F8D8"
  1428.     $"F9F6 F8F8 FAAD 0012 FC00 F6FA FE11 D30B"
  1429.     $"F7F8 D9F9 F5F8 F8FA AD00 12FC 00F6 FAFD"
  1430.     $"11D4 0BF7 F8D9 FAF6 F8F7 FAAD 0012 FB00"
  1431.     $"F6FA FD11 D50B F7F8 DAFA F5F8 F8FA AC00"
  1432.     $"12FB 00F6 FAFC 11D6 0BF7 F8DB FAF5 F8F7"
  1433.     $"FAAC 0012 FA00 F6FA FC11 D70B F7F8 DBFA"
  1434.     $"F5F8 F8FA AB00 12FA 00F5 FAFD 11D7 0BF7"
  1435.     $"F8DC FAF5 F8F7 FAAB 0012 F900 F6FA FC11"
  1436.     $"D80B F7F8 DDFA F5F8 F7FA AA00 12F9 00F5"
  1437.     $"FAFC 11D9 0BF7 F8DE FAF4 F8F7 FAAA 0012"
  1438.     $"F800 F6FA FB11 DA0B F7F8 DF81 F4F8 F7FA"
  1439.     $"A900 12F8 00F5 FAFA 11DC 0BF7 F8E0 81F4"
  1440.     $"F8F6 FAA9 0012 F700 F5FA FA11 DD0B F7F8"
  1441.     $"E181 F3F8 F7FA A800 12F7 00F4 FAFA 11DE"
  1442.     $"0BF7 F8E2 81F3 F8F6 FAA8 0012 F600 F5FA"
  1443.     $"F911 DF0B F7F8 E381 F3F8 F6FA A700 12F5"
  1444.     $"00F5 FAF8 11E1 0BF7 F8E4 81F3 F8F6 FAA6"
  1445.     $"0012 F500 F4FA F811 E20B F7F8 E581 F3F8"
  1446.     $"F5FA A600 12F4 00F4 FAF7 11E4 0BF7 F8E7"
  1447.     $"FBF2 F8F5 FAA5 0012 F300 F4FA F611 E60B"
  1448.     $"F7F8 E8FB F2F8 F5FA A400 12F2 00F4 FAF5"
  1449.     $"11E8 0BF7 F8EA FBF1 F8F5 FAA3 0012 F200"
  1450.     $"F3FA F411 EA0B F7F8 ECFB F0F8 F4FA A300"
  1451.     $"12F1 00F3 FAF3 11EC 0BF7 F8EE FBEF F8F4"
  1452.     $"FAA2 0012 F000 F3FA F111 EF0B F7F8 F0FB"
  1453.     $"EEF8 F4FA A100 12EF 00F3 FAEE 11F3 0BF7"
  1454.     $"F8F2 FCED F8F4 FAA0 0012 EE00 F2FA EB11"
  1455.     $"F80B F7F8 F5FC EBF8 F4FA 9F00 10ED 00F2"
  1456.     $"FAE3 11F7 F8F8 FCEA F8F3 FA9E 0010 EC00"
  1457.     $"F2FA E411 F7F8 FEFC E5F8 F3FA 9D00 0CEB"
  1458.     $"00F1 FAE6 11DA F8F2 FA9C 000C EA00 F0FA"
  1459.     $"E811 DBF8 F2FA 9B00 0CE9 00F0 FAE9 11DD"
  1460.     $"F8F1 FA9A 000C E800 EFFA EB11 DFF8 F0FA"
  1461.     $"9900 0CE7 00EE FAED 11E1 F8EF FA98 000C"
  1462.     $"E500 EDFA F011 E4F8 EEFA 9600 0CE4 00EC"
  1463.     $"FAF2 11E6 F8ED FA95 000C E300 EAFA F511"
  1464.     $"E9F8 EBFA 9400 0CE1 00E8 FAF9 11ED F8E9"
  1465.     $"FA92 000D E000 E3FA 0111 11F3 F8E4 FA91"
  1466.     $"0006 DE00 BAFA 8F00 06DC 00BE FA8D 0006"
  1467.     $"DA00 C2FA 8B00 06D8 00C6 FA89 0006 D600"
  1468.     $"CAFA 8700 06D3 00D0 FA84 0006 D000 D6FA"
  1469.     $"8100 08CD 00DC FA81 00FE 0008 C900 E4FA"
  1470.     $"8100 FA00 08C3 00F0 FA81 00F4 0010 EA00"
  1471.     $"F9FF AC00 F1FF C400 F0FF FC00 FCFF 10ED"
  1472.     $"00F4 FFAE 00EE FFC7 00EF FFFE 00FB FF10"
  1473.     $"EF00 F0FF B000 EDFF C800 EFFF FE00 FBFF"
  1474.     $"15F0 00EE FFB1 00EC FFC6 00FD FFFC 00FB"
  1475.     $"FF01 0000 FAFF 1AF1 00EC FFB3 00EA FFC7"
  1476.     $"00FD FFFD 00FD FF04 00FF FF00 00FB FF00"
  1477.     $"0019 F200 EBFF B300 EAFF C700 FDFF FD00"
  1478.     $"FDFF 0300 FFFF 00FA FF00 0024 F300 F7FF"
  1479.     $"FD00 F7FF B400 F9FF FB00 F7FF C800 FDFF"
  1480.     $"FD00 FDFF 0600 FFFF 00FF FF00 FDFF 0000"
  1481.     $"3EF3 00F9 FFFA 00F8 FFFC 00FB FFFE 00FB"
  1482.     $"FFF2 00FA FFF5 00FB FFFE 00FB FFF9 00F9"
  1483.     $"FFFA 00F8 FFF7 00F9 FFF1 00F9 FFF2 00FD"
  1484.     $"FFFD 00FD FF00 00FC FF00 00FD FF00 0040"
  1485.     $"F400 F8FF F900 F9FF FD00 FAFF 0000 F7FF"
  1486.     $"F700 F5FF F800 FBFF 0100 00F8 FFFA 00F9"
  1487.     $"FFF9 00F9 FFFA 00F4 FFF6 00F4 FFF5 00FD"
  1488.     $"FFFD 00FD FF01 0000 FDFF 0000 FDFF FF00"
  1489.     $"3BF4 00F9 FFF8 00F9 FFFD 00EE FFFA 00F2"
  1490.     $"FFF9 00FB FF00 00F6 FFFC 00F9 FFF8 00F9"
  1491.     $"FFFC 00F1 FFF9 00F1 FFF6 00FD FFFD 00FD"
  1492.     $"FF01 0000 FDFF 0000 FDFF FF00 38F5 00F9"
  1493.     $"FFF7 00F9 FFFD 00ED FFFC 00F0 FFFA 00EF"
  1494.     $"FFFC 00F9 FFF8 00F9 FFFD 00EF FFFB 00EF"
  1495.     $"FFF7 00FD FFFD 00FD FF01 0000 FEFF 0100"
  1496.     $"00FD FFFF 003C F500 F9FF F700 F9FF FD00"
  1497.     $"EDFF FD00 F9FF FE00 FAFF FA00 EEFF FD00"
  1498.     $"F9FF F800 F9FF FE00 EDFF FD00 EEFF F700"
  1499.     $"FDFF FD00 FDFF 0100 00FE FF01 0000 FDFF"
  1500.     $"FF00 48F5 00F9 FFF7 00F9 FFFD 00F9 FFFD"
  1501.     $"00F9 FFFD 00FB FFFB 00FB FFFA 00EE FFFD"
  1502.     $"00F9 FFF8 00F9 FFFE 00F9 FFFD 00F9 FFFD"
  1503.     $"00FA FFFC 00FA FFF7 00FD FFFD 00FD FF01"
  1504.     $"0000 FEFF 0100 00FD FFFF 003A F500 F9FF"
  1505.     $"F800 F9FF FD00 F9FF FB00 FAFF FE00 FAFF"
  1506.     $"FB00 FAFF FC00 F8FF FE00 FAFF FC00 F9FF"
  1507.     $"F900 F9FF FE00 FAFF FA00 FAFF FE00 FAFF"
  1508.     $"FB00 FAFF DE00 38F6 00F9 FFF7 00F9 FFFD"
  1509.     $"00FA FFFA 00FA FFFE 00FB FFFA 00FA FFFC"
  1510.     $"00F9 FFFD 00FA FFFD 00F9 FFF8 00F9 FF01"
  1511.     $"0000 F9FF FA00 FAFF 0100 00F9 FFD1 0035"
  1512.     $"F600 F9FF F700 F9FF FD00 FAFF FA00 FAFF"
  1513.     $"0100 00EC FFFC 00FA FFFC 00FA FFFD 00F9"
  1514.     $"FFF8 00F9 FF01 0000 FAFF F900 FAFF 0100"
  1515.     $"00FA FFD0 0035 F600 F9FF F800 F9FF FC00"
  1516.     $"FAFF FA00 FAFF 0100 00EC FFFC 00FA FFFC"
  1517.     $"00FA FFFD 00F9 FFF9 00F8 FF01 0000 FAFF"
  1518.     $"F900 FAFF 0100 00FA FFD0 0034 F600 F8FF"
  1519.     $"F900 F9FF FC00 FAFF FB00 F9FF 0100 00EC"
  1520.     $"FFFC 00FA FFFC 00FA FFFD 00F9 FFF9 00F9"
  1521.     $"FFFE 00FA FFF9 00FA FF01 0000 FAFF D000"
  1522.     $"36F6 00F8 FFFA 00F9 FFFC 00F9 FFFB 00FA"
  1523.     $"FFFE 00ED FFFC 00FA FFFB 00FB FFFC 00F9"
  1524.     $"FFFA 00F8 FFFE 00FA FFFA 00FA FFFE 00FA"
  1525.     $"FFFB 00FA FFDD 0036 F500 F8FF FD00 F7FF"
  1526.     $"FC00 F8FF FD00 F9FF FE00 FBFF EE00 FAFF"
  1527.     $"FC00 FAFF FD00 F9FF FB00 F7FF FD00 FAFF"
  1528.     $"FA00 FAFF FE00 FAFF FB00 FAFF DD00 2AF5"
  1529.     $"00EB FFFB 00ED FFFD 00FA FFEF 00FA FFFC"
  1530.     $"00FA FFFD 00EA FFFC 00F9 FFFD 00F9 FFFD"
  1531.     $"00F9 FFFD 00F9 FFDD 0026 F400 EDFF FA00"
  1532.     $"EDFF FD00 F9FF FD00 F9FF FC00 FAFF FC00"
  1533.     $"FAFF FD00 EBFF FB00 EDFF FD00 EEFF DC00"
  1534.     $"22F4 00EE FFF9 00EE FFFB 00EF FFFB 00FA"
  1535.     $"FFFC 00FA FFFD 00EC FFF9 00EF FFFB 00F0"
  1536.     $"FFDB 0022 F300 F0FF F900 EEFF F900 F1FF"
  1537.     $"FB00 FAFF FB00 FBFF FC00 EDFF F700 F2FF"
  1538.     $"F800 F2FF DA00 26F1 00F4 FFF7 00FA FF00"
  1539.     $"00F8 FFF6 00F4 FFF9 00FA FFFC 00FA FFFD"
  1540.     $"00ED FFF5 00F4 FFF6 00F5 FFD8 0026 EF00"
  1541.     $"F9FF F400 FAFF FE00 FCFF F200 F9FF F600"
  1542.     $"FAFF FC00 FAFF FD00 F0FF F000 F9FF F100"
  1543.     $"F9FF D600 08DA 00FA FF81 00D3 0008 DA00"
  1544.     $"FAFF 8100 D300 08DB 00FA FF81 00D2 0008"
  1545.     $"DB00 FAFF 8100 D200 08DB 00FA FF81 00D2"
  1546.     $"0008 DB00 FAFF 8100 D200 08DB 00FA FF81"
  1547.     $"00D2 0000 00FF"
  1548. };
  1549.  
  1550. resource 'DLOG' (kODSplashDlogID) {
  1551.     {29, 48, 332, 345},
  1552.     dBoxProc,
  1553.     visible,
  1554.     goAway,
  1555.     0x0,
  1556.     kODSplashDlogID,
  1557.     "",
  1558.     centerMainScreen
  1559. };
  1560.  
  1561. data 'ictb' (kODSplashDlogID) {
  1562.     $"0000 0000"    /* User item is unaffected */
  1563.     $"0005 0008"    /* Change font + size of text item */
  1564.     
  1565.     $"0001"            /* Use application font */
  1566.     $"0000"            /* Plain style [ignored] */
  1567.     $"000A"            /* 10pt size */
  1568.     $"0000"            /* Red component [ignored] */
  1569.     $"0000"            /* Blue component [ignored] */
  1570.     $"0000"            /* Green component [ignored] */
  1571.     $"0000"            /* BG Red component [ignored] */
  1572.     $"0000"            /* BG Blue component [ignored] */
  1573.     $"0000"            /* BG Green component [ignored] */
  1574.     $"0001"            /* srcOr mode [ignored] */
  1575. };
  1576.  
  1577. include "OpenDocX.res" 'dctb' (131);
  1578. include "OpenDocX.res" 'DITL' (131);
  1579. include "OpenDocX.res" 'PICT' (131:134);
  1580.  
  1581. /*
  1582.  
  1583. resource 'DITL' (kSHLAboutBoxDlogID) {
  1584.     {    
  1585.         {11, 9, 185, 229},
  1586.         Picture {
  1587.             enabled,
  1588.             kSHLAboutBoxDlogID
  1589.         }
  1590.     }
  1591. };
  1592.  
  1593. resource 'DLOG' (kSHLAboutBoxDlogID) {
  1594.     {0, 0, 195, 240},
  1595.     movableDBoxProc,
  1596.     visible,
  1597.     noGoAway,
  1598.     0x0,
  1599.     kSHLAboutBoxDlogID,
  1600.     "",
  1601.     alertPositionParentWindowScreen
  1602. };
  1603. */
  1604.  
  1605.  
  1606. /********* Stuff for the Debug menu **********/
  1607.  
  1608. /*#if ODDebug*/
  1609.  
  1610. resource 'ALRT' (980, "Heap Info [debug only]") {
  1611.     {40, 40, 201, 412},
  1612.     980,
  1613.     {    /* array: 4 elements */
  1614.         /* [1] */
  1615.         OK, visible, silent,
  1616.         /* [2] */
  1617.         OK, visible, silent,
  1618.         /* [3] */
  1619.         OK, visible, silent,
  1620.         /* [4] */
  1621.         OK, visible, silent
  1622.     },
  1623.     alertPositionParentWindowScreen
  1624. };
  1625.  
  1626.  
  1627. resource 'DITL' (980, "Heap Info [debug only]") {
  1628.     {    /* array DITLarray: 7 elements */
  1629.         /* [1] */
  1630.         {132, 296, 152, 354},
  1631.         Button {
  1632.             enabled,
  1633.             "OK"
  1634.         },
  1635.         /* [2] */
  1636.         {10, 72, 29, 360},
  1637.         StaticText {
  1638.             disabled,
  1639.             "^0:"
  1640.         },
  1641.         /* [3] */
  1642.         {28, 72, 79, 162},
  1643.         StaticText {
  1644.             disabled,
  1645.             "Bytes used:\nBytes free:\nBlock count:"
  1646.         },
  1647.         /* [4] */
  1648.         {28, 161, 79, 280},
  1649.         StaticText {
  1650.             disabled,
  1651.             "^1"
  1652.         },
  1653.         /* [5] */
  1654.         {89, 72, 108, 360},
  1655.         StaticText {
  1656.             disabled,
  1657.             "^2:"
  1658.         },
  1659.         /* [6] */
  1660.         {107, 72, 158, 162},
  1661.         StaticText {
  1662.             disabled,
  1663.             "Bytes used:\nBytes free:\nLargest free space:"
  1664.         },
  1665.         /* [7] */
  1666.         {107, 161, 158, 280},
  1667.         StaticText {
  1668.             disabled,
  1669.             "^3"
  1670.         }
  1671.     }
  1672. };
  1673.  
  1674.  
  1675. resource 'ALRT' (493,
  1676. #if ODDEBUG
  1677. "Shell Low Memory Error",
  1678. #endif
  1679. preload) {
  1680.     {40, 40, 142, 318},
  1681.     493,
  1682.     {    /* array: 4 elements */
  1683.         /* [1] */
  1684.         OK, visible, sound1,
  1685.         /* [2] */
  1686.         OK, visible, sound1,
  1687.         /* [3] */
  1688.         OK, visible, sound1,
  1689.         /* [4] */
  1690.         OK, visible, sound1
  1691.     },
  1692.     alertPositionMainScreen
  1693. };
  1694.  
  1695. /* NOTE THAT WE EXPLICITLY USE ICON #0 IN THIS DITL RATHER THAN CALLING
  1696.     StopAlert TO INSERT THE ICON. WE DO THIS BECAUSE WE WANT TO MAKE SURE
  1697.     THE ICON IS ALWAYS LOADED INTO MEMORY */
  1698.  
  1699. resource 'DITL' (493,
  1700. #if ODDEBUG
  1701. "Shell Low Memory Error",
  1702. #endif
  1703. preload) {
  1704.     {    /* array DITLarray: 3 elements */
  1705.         /* [1] */
  1706.         {69, 201, 89, 263},
  1707.         Button {
  1708.             enabled,
  1709.             "Quit"
  1710.         },
  1711.         /* [2] */
  1712.         {10, 72, 58, 265},
  1713.         StaticText {
  1714.             disabled,
  1715.             "Sorry, this document must immediately qu"
  1716.             "it due to very low memory."
  1717.         },
  1718.         /* [3] */
  1719.         {11, 20, 43, 52},
  1720.         Icon {
  1721.             disabled,
  1722.             0
  1723.         }
  1724.     }
  1725. };
  1726.  
  1727.  
  1728. /*#endif*/
  1729.